package ForthQuestion;

import com.sun.deploy.panel.AbstractRadioPropertyGroup;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author cyt
 * @date 2020/6/14
 */
public class StudentManagement {

    private List<Student> students = new ArrayList<>();


    public void startSystem(){
        System.out.println("欢迎来到学生管理系统！");
        while (true) {
            System.out.println("您现在可以选择想运用的功能：");
            System.out.println("输入add代表增加一个学生的信息");
            System.out.println("输入delete代表通过学号删除一个学生的信息");
            System.out.println("输入modify代表修改一个学生的信息");
            System.out.println("输入search代表通过学号查找一个学生的信息");
            System.out.println("输入print代表打印所有学生的信息");
            System.out.println("输入exit代表退出系统");
            Scanner sc = new Scanner(System.in);
            //根据用户的输入执行功能
            switch (sc.next()) {
                case "add":
                    System.out.println("您现在想要增加一个学生的信息，请输入学生的信息：");
                    System.out.println("学生的学号为：");
                    int num = sc.nextInt();
                    System.out.println("学生的姓名为：");
                    String name = sc.next();
                    System.out.println("学生的年龄为：");
                    int age = sc.nextInt();

                    Student student = new Student(num, name, age);
                    //增加学生进List
                    if (AddStudent.addStudent(this.students, student)) {
                        System.out.println("添加成功");
                    }
                    break;
                case "delete":
                    System.out.println("您现在想要删除一个学生的信息，请输入学生的学号：");
                    num = sc.nextInt();
                    if (DeleteStudent.deleteStudent(students, num)) {
                        System.out.println("删除成功");
                    }
                    break;
                case "modify":
                    System.out.println("您现在想要修改一个学生的信息，请输入学生的学号：");
                    num = sc.nextInt();
                    System.out.println("输入这个学生的姓名：");
                    name = sc.next();
                    System.out.println("输入这个学生的年龄");
                    age = sc.nextInt();

                    Student temp = new Student(num, name, age);

                    if (ModifyStudent.modifyStudent(students, temp)) {
                        System.out.println("修改成功！");
                    }
                    break;
                case "search":
                    System.out.println("您现在想要查询一个学生的信息，请输入学生的学号：");
                    num = sc.nextInt();
                    Student result = SearchStudent.searchStudent(students, num);
                    if (result != null) {
                        System.out.println(result);
                    } else {
                        System.out.println("对不起，系统中没有这个学生！");
                    }
                    break;
                case "print":
                    System.out.println("所有的学生信息为");
                    System.out.println(this.students);
                    break;
                case "exit":
                    System.out.println("感谢您的使用，下次再见！");
                    System.exit(1);
                    break;
                default:
                    System.out.println("对不起，本系统没有此功能！");
                    continue;
            }

        }

    }
}
